package edu.guigu.networkconnection.network;

import java.util.List;

import edu.guigu.networkconnection.model.User;
import edu.guigu.networkconnection.model.RepoResult;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;

/**
 * @Description: (用一句话描述)
 * @author yuanc
 * @date 2025/8/25 16:33
 */
public interface GithubApi {

    @GET("https://api.github.com/users")
    Call<List<User>> getUserList();

    // https://api.github.com/users?sort=sortVal
    @GET("https://api.github.com/users")
    Call<List<User>> getUserList(@Query("sort") String sortVal);

    @GET("https://api.github.com/users/1")
    Call<User> getUser();

    // https://api.github.com/users/id
    @GET("https://api.github.com/users/{userid}")
    Call<User> getUser(@Path("userid") int id);

    // 仓库查询接口
    // q:查询的参数--体现为语言
    // page:查询页数--从1开始
    // pre_page：每页几个
    // https://api.github.com/search/repositories?q=android&page=2&per_page=1
    // https://api.github.com/search/repositories?q=arkts&page=1&per_page=5

    @GET("https://api.github.com/search/repositories")
    Call<RepoResult> searchRepos(
            @Query("q") String query,
            @Query("page") int page,
            @Query("per_page") int size);

    // 精选 (按start的仓库)
    // 热门 (按语言分类 android/arkts/java/javascript)
    // 开发者
    // 个人

}